If a software error corrupts data, or if erroneous data updates the data, a data protection administrator may restore the data to a previous uncorrupted state that does not include the corrupted or updated erroneous data. A backup application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired data state (such as the values of data and these values' embedding in a database's data structures) within dedicated backup files. If the data protection administrator decides to return the data to a previous state, the data protection administrator specifies the desired previous state by identifying a desired point in time when the data was in this state, and instructs the backup application to execute a restore operation to restore a copy of the corresponding backup files for that state to the data.
Performing a full backup of data can consume significant resources, especially when the backups are retained over time. Incremental backups reduce the amount of data backed up because an incremental backup only backs up changes that have been made to the data since the last backup. Identifying which data files, or data objects, have changed since the last backup may require a backup application or its agent to examine all of the data files and to analyze their change time stamps. However, larger file systems may have millions of data files, such that this examination and analysis can become a time consuming process and can degrade the file system's computing performance. Some backup applications trawl an entire file system to generate a list of changed files for incremental backups, but this trawling can consume significant resources. Other backup applications may take advantage of a file system's native change log as an alternative to trawling an entire file system.